package chapter_2.demo_2;

import java.util.ArrayList;
import java.util.List;

/**
 * @author: hero生仔
 * 测试：编写灵活的 prettyPrintApple 方法
 * <p>
 * 需求：要求能接受一个Apple的List，并可以对它参数化，以多种方式根据苹果生成一个String输出（类似多个可定制的toString()方法）。例如，你可以告诉 prettyPrintApple 方法只打印每个苹果的重量，此外，
 * 可以让prettyPrintApple 方法分别打印每个苹果，然后说明他是重的还是轻的。
 */
public class Apple {
    Integer weight;
    String color;

    public Apple(Integer weight, String color) {
        this.weight = weight;
        this.color = color;
    }

    public static void prettyPrintApple(List<Apple> inventory, Predicate p) {
        for (Apple apple : inventory) {
            String output = p.test(apple);
            System.out.println(output);
        }
    }

}

